#ifndef _FREQ_TABLE_A2_H_
#define _FREQ_TABLE_A2_H_

//
// 由freq.pl自动生成, 请不要修改
//
// 最大输出频率/转速: 20000000 / 31415926.5
// 最小输出频率/转速: 800 / 1256.63706
//

#include "user_global.h"

#define X_PERIMETER             (20 * 3)       // X电机转一圈的距离, mm
#define Y_PERIMETER             (15 * 2.032)   // Y电机转一圈的距离, mm
#define MICROSTEP               2              // 细分步数
#define FSPR                    200            // 每转整步数
#define SPR                     400            // 转一圈的步数
#define ALPHA                   0.01570796325  // 每步角度, rad
#define SPEED_INTERVAL_CODE     0              // 表间隔, 2^n
#define SPEED_TABLE_SIZE        2037
#define ACCEL                   10000          // 加速度, 0.01 rad/s^2
#define DECEL                   10000          // 减速度, 0.01 rad/s^2
#define SPEED                   8000           // 最高速度, 0.01 rad/s
#define MIN_SPEED_INDEX         11             // 最小速度输出索引值
#define MAX_C                   25000           // 最大计数器值
#define FREQ_TABLE(n)           freq_table[(n) >> SPEED_INTERVAL_CODE]
#define SUM_TABLE(n)            sum_table[(n) >> SPEED_INTERVAL_CODE]
#define TIME_TABLE(n)           (freq_table[(n) >> SPEED_INTERVAL_CODE] ? \
                                 freq_table[(n) >> SPEED_INTERVAL_CODE] : 256)

extern unsigned short freq_table[SPEED_TABLE_SIZE];
extern long sum_table[SPEED_TABLE_SIZE];

#endif // _FREQ_TABLE_A2_H_
